Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] New packages: guile3, guix #22359

Closed
wants to merge 10 commits into from
Closed

Conversation

ericonr
Copy link
Member

@ericonr ericonr commented May 27, 2020

Supersedes #22304

  • Added 3 as suffix for the guile3 executables.
  • Update aisleriot, switch to guile3.
  • Added dependencies for guix. I think there may be better ways of packaging them, but I'm not entirely sure. I have to fix the fact that they depend (for runtime) on the -devel version of other libraries, too.
  • Package guix. Still needs a service file for guix-daemon.

@ericonr ericonr force-pushed the guile branch 2 times, most recently from 0b47358 to 8745bc1 Compare May 27, 2020 17:38
@ericonr
Copy link
Member Author

ericonr commented May 27, 2020

Needs fixes for cross compilation.

@travankor
Copy link
Contributor

Still needs a service file for guix-daemon.

https://issues.guix.gnu.org/issue/40601#5

@ericonr
Copy link
Member Author

ericonr commented May 28, 2020

@travankor thanks! Will look into it.

anjandev and others added 10 commits June 17, 2020 18:29
- Change build_style to meson
- Change distfile location
- Use pysol package instead of distfile
- Add yelp dep for viewing help info
Dependency for guile3-git
Dependency for guix.
Dependency for guix.
Dependency for guix.
Dependency for guix.
Dependency for guix.
@ericonr
Copy link
Member Author

ericonr commented Jun 18, 2020

It doesn't want to work for 32-bit stuff (cross build to aarch64 runs just fine). Probably some issues with headers and config binaries.

@ericonr ericonr mentioned this pull request Jun 19, 2020
@sgn
Copy link
Member

sgn commented Jul 3, 2020

It doesn't want to work for 32-bit stuff (cross build to aarch64 runs just fine).
Probably some issues with headers and config binaries.

Would this trick work?

_cross_cc="cc"
if [ "$XBPS_WORDSIZE" != "$XBPS_TARGET_WORDSIZE" ]; then
if [ "${XBPS_MACHINE/-musl/}" = "x86_64" ]; then
hostmakedepends+=" cross-i686-linux-musl"
_cross_cc="i686-linux-musl-gcc -static"
else
broken="Host and target wordsize must match"
fi
fi

make ${makejobs} PREFIX=/usr HOST_LUA=lua5.2 HOST_CC="${_cross_cc}" \

@ericonr
Copy link
Member Author

ericonr commented Jul 3, 2020

I haven't managed to make it work yet :/

The trick might have helped a bit, though, because it seems to be erroring out in a different place.

@ericonr
Copy link
Member Author

ericonr commented Aug 3, 2020

@anjandev if you'd like to take my guile3 commits from this PR, feel free to do so. I don't see myself completing this package, since I've now switched full time to musl. @travankor if you'd like to take this over, that's an option too.

@anjandev
Copy link
Contributor

anjandev commented Aug 3, 2020 via email

@ericonr ericonr closed this Aug 13, 2020
@travankor
Copy link
Contributor

It would be neat if guile3 could work with musl, but I don't have the time unfortunately.

@ericonr
Copy link
Member Author

ericonr commented Aug 14, 2020

@travankor guile3 itself is working under musl. If you'd like to make a PR with the guile3 commit, it's working for everything. It's Guix that doesn't work on musl.

@travankor
Copy link
Contributor

@ericonr Interesting that guile3 works fine on musl, while guix does not. Do you know the reason why guix is broken under musl and if this can be fixed? My understanding was that guix was written entirely in guile, so if guile works, then all application written in guile should work.

@ericonr
Copy link
Member Author

ericonr commented Aug 15, 2020

Not sure :/

I believe guix simply doesn't know about musl as a target, so it couldn't get a proper configuration for itself. Since guix also seems to want / recommend some glibc features such as nss, iiuc, I didn't try to go too deep into configuring the whole thing.

@unspecd
Copy link
Contributor

unspecd commented Oct 13, 2020

@ericonr, @travankor

It's Guix that doesn't work on musl

Are you sure? :)

screenshot

@travankor
Copy link
Contributor

@ev-ermakov

Nice! Did you install this from a Void template or from the generic shell installer maintained by the Guix community? This is on my todo list to investigate, but I don't have much time right now :/

If you have a custom template for this, then it would be nice to upstream it to the void-packages repository :)

@unspecd
Copy link
Contributor

unspecd commented Oct 14, 2020

@travankor
I compiled everything from scratch (without using xbps-src), following the installation instructions.

Here's the patch:

--- a/gnu/packages/bootstrap.scm
+++ b/gnu/packages/bootstrap.scm
@@ -262,6 +262,7 @@
   "Return the name of Glibc's dynamic linker for SYSTEM."
   ;; See the 'SYSDEP_KNOWN_INTERPRETER_NAMES' cpp macro in libc.
   (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
+        ((string=? system "x86_64-linux-musl") "/lib/ld-musl-x86_64.so.1")
         ((string=? system "i686-linux") "/lib/ld-linux.so.2")
         ((string=? system "armhf-linux") "/lib/ld-linux-armhf.so.3")
         ((string=? system "mips64el-linux") "/lib/ld.so.1")

But, of course, this is not enough:
screenshot

--
Required packages:

bytestructures-1.0.7.tar.gz  guile-git-0.3.0.tar.gz     guile-ssh-0.13.1.tar.gz
guile-3.0.4.tar.gz           guile-json-3.5.0.tar.gz    guix-1.1.0.tar.gz
guile-gcrypt-0.3.0.tar.gz    guile-sqlite3-0.1.3.tar.gz

@unspecd unspecd mentioned this pull request Dec 22, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants